#ifndef ELAB_H
#define ELAB_H

#include <QtGui> // SERIALIZZAZIONE
// #include "ppc_impl.h"

#include "PTime.h"
#include "page.h"

class Elab
{
public:
	Elab();
    Elab(const Elab& elab);
    Elab(const string& title);
    Elab(
            const string& name,
            const string& title,
            const  PTime& t_start,
            const  PTime& t_end
            );

    Elab& operator = ( const Elab& elab );

     void setTimeStartNow ( void ); // marca il tempo di inizio elaborazione
     void   setTimeEndNow ( void ); // marca il tempo di fine elaborazione

    PTime getTimeStart ( void ) const;
    PTime   getTimeEnd ( void ) const;

    void  setName ( const string& name );   // Nome corto dell'elaborazione
    void setTitle ( const string& title ); // Titolo dell'elaborazione

    string getTitle ( void ) const; // Restituisce il Titolo dell'elaborazione
    string  getName ( void ) const; // Restituisce Nome corto dell'elaborazione

	void PPrn(Page& p_buff);

private:
    string m_Name;  // Nome corto dell'elaborazione
    string m_title; // Titolo dell'elaborazione
	PTime m_Time_Start;
	PTime m_Time_End;
};

Q_DECLARE_METATYPE(Elab) // SERIALIZZAZIONE

#endif
